home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-22 | 30.0 KB | 1,065 lines | [TEXT/MPS ] |
- /*
- File: NoPart.cpp
-
- Contains: Implementation of class NoPart
-
- Owned by: Caia Grisar
-
- Copyright: © 1993 - 1995 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <50> 10/8/95 TJ Fixes Recomended by Refball
- <49> 10/3/95 TJ Changes done by RefBall Team
- <48> 9/13/95 DM 1277216 GM:API return no ODPoints nor
- ODPolygons
- <47> 9/8/95 CG #1283252 FB1:NoPart now attempts to rebind
- on Open.
- <46> 9/7/95 CG #1282052 FB1:NoPart should use SOM_TRY
- #1279121 FB3:NoPart frames the icon drawn
- when highlighted but inactive.
- <45> 8/30/95 CG #1278868 FB3:NoPart should use factory
- method to create shape.
- <44> 8/26/95 TÇ 1257260 Remove somInit methods. Don't call
- IsInitialized
- <43> 8/25/95 JP 1254840: Made ODGetIconFamily take frame
- <42> 8/24/95 TJ #1277595 #included PartWrap.xh
- <41> 8/12/95 TÇ 1276812 Need to use TempObjs and TempRefs
- for exception safety and to avoid TRY
- blocks
- <40> 8/3/95 RR #1257260: Collapse B classes. Remove
- somInit methods. Don't call IsInitialized
- or SubclassResponsibility
- <39> 6/20/95 JBS 1257315 change Facet::AcquireWindow to
- GetWindow
- <38> 6/20/95 TÇ 1229993 BB: NoPart does not handle view
- types icon, small icon, or thumbnail.
- <37> 6/16/95 EL #1254926: Don't release usedShape until
- finished with using its region handle.
- <36> 6/9/95 CG 1257396 BB: Acquires need Releases in
- Binding.
- <35> 5/26/95 DM 1251403: Multithreading naming support.
- <34> 5/7/95 TÇ #1246386 BB: NoPart should draw icon of the
- part its bound to in topleft corner of
- frame.
- <33> 4/26/95 CG 1210975 BB: 5$ Bugs need to be evaluated
- and removed from Binding
- <32> 4/16/95 VL 1230084: Calls ODPart in Init,
- InitFromStorage and CloneInto.
- <31> 4/13/95 JBS 1233726 add ClonePartInfo; 1238250 Frame
- PartInfo should have multiple values;
- 1228451 call draft->ReleasePart when
- refcount reaches 0
- <30> 3/28/95 CC 1233117: Removed storageUnit parameter to
- ShowPartTranslateDialog.
- <29> 3/27/95 CC 1229640: Call to ShowTranslateDialog()
- changed to ShowPartTranslateDialog().
- <28> 3/24/95 CG #1229993: NoPart handles icon and thumbnail
- view types.
- <27> 3/7/95 CC 1224121: CreateLink() returns an
- ODLinkSource object.
- <26> 2/24/95 jpa Use ODNewRgn. [1220810]
- <25> 2/16/95 CG #1210975 BB: resolved 5$
- <24> 1/26/95 eeh 1213354: ODActionData now an ODByteArray.
- <23> 1/22/95 NP EmbeddedFrameSpec signature changed because
- of change to AE types.
- <22> 1/20/95 JBS 1195017, 1205669: part API changes
- <21> 1/13/95 RR 1192147, 1201708 Removed overrides of
- HandleEventInEmbedded, MouseEnter,
- MouseWithin and MouseLeave. Moved
- functionality to HandleEvent
- <20> 1/12/95 jpa Don't use obsolete Toolbox names. [1211211]
- <19> 1/10/95 CG #1197870: BB: If NoPart is root and
- TransDlg is dismissed, close document.
- <18> 12/23/94 JBS 1186869: hide ODPartWrapper from public
- API; 1192557: ODPartWrapper realPart access
- <17> 12/15/94 CC 1197221 CreateLink() takes ODByteArray
- parameter.
- 1205684 LinkUdated parameter renamed to
- "change" from "id".
- <16> 12/13/94 CG #1187128: Call new
- ODTranslation::ShowTranslateDialog()
- method.
- <15> 11/17/94 CG 1187128: Removed NoPart helper and
- Translations dialog.
- <14> 10/7/94 CG #1188048: ShowTranslationDialog nolonger
- requires a frame as a parameter in case
- noPart is root part.
- <13> 9/14/94 CG #1178532: Moved some code to helper class.
- Added double-click handling. Added call to
- new ShowTranslateDialog in Open.
- <12> 9/9/94 CG 1183531: Implemented PartWrapper class.
- <11> 9/1/94 CC RADAR #1183005 - change AdjustBorderShape
- param from Frame to Facet (for JBS)
- <10> 8/28/94 VL #1182975: DragEnter & DragWithin should
- return ODDragResult (instead of ODBoolean).
- <9> 8/25/94 TÇ #1153336 NoPart should be selected if
- clicked on
- <8> 8/24/94 CG #1181622: Updated file ownership.
- <7> 8/18/94 jpa Fixed warnings (added return types, removed
- obsolete Externalize method.) [1181839]
- <6> 8/16/94 VL 1143605: Fixed parameters to CloneInto.
- <5> 8/13/94 TÇ #1180814 Added support for ODPartWrapper
- API and fixed Drag&Drop calls to return
- Boolean
- <4> 8/10/94 JBS 1179919: coordinate system bias changes
- <3> 8/5/94 JBS #1179151 Part API cleanup
- <2> 6/28/94 CG Synched with ODPart API change.
- <1> 6/27/94 CG first checked in
- <0> 6/27/94 SV SOMverted
- <2> 2/16/94 JA Include new AltPoint.h.
- <2> 2/4/94 TÇ fixes to compile with PPC Universal headers
- <1> 2/2/94 SS first checked in
- In Progress:
-
- */
-
- #ifndef _PLFMDEF_
- #include <PlfmDef.h>
- #endif
-
- #ifndef _ALTPOINT_
- #include <AltPoint.h> // Use C++ savvy XMPPoint and XMPRect
- #endif
-
- #ifndef _INFOUTIL_
- #include <InfoUtil.h>
- #endif
-
- #ifndef _TEMPOBJ_
- #include <TempObj.h>
- #endif
-
- #ifndef SOM_NoPart_xh
- #include <NoPart.xh>
- #endif
-
- #ifndef SOM_ODFrame_xh
- #include <Frame.xh>
- #endif
-
- #ifndef SOM_ODFacet_xh
- #include <Facet.xh>
- #endif
-
- #ifndef SOM_ODShape_xh
- #include <Shape.xh>
- #endif
-
- #ifndef SOM_ODTransform_xh
- #include <Trnsform.xh>
- #endif
-
- #ifndef SOM_ODWindow_xh
- #include <Window.xh>
- #endif
-
- #ifndef __QUICKDRAW__
- #include <Quickdraw.h>
- #endif
-
- #ifndef SOM_ODInfo_xh
- #include <Info.xh>
- #endif
-
- #ifndef SOM_ODFrameFacetIterator_xh
- #include "FrFaItr.xh"
- #endif
-
- #ifndef SOM_ODStorageUnit_xh
- #include <StorageU.xh>
- #endif
-
- #ifndef SOM_ODSession_xh
- #include <ODSessn.xh>
- #endif
-
- #ifndef SOM_ODDispatcher_xh
- #include <Disptch.xh>
- #endif
-
- #ifndef SOM_ODTranslation_xh
- #include <Translt.xh>
- #endif
-
- #ifndef SOM_ODWindowState_xh
- #include <WinStat.xh>
- #endif
-
- #ifndef _BNDNGDEF_
- #include <BndngDef.h>
- #endif
-
- #ifndef __ICONS__
- #include <Icons.h> // NewIconSuite, PlotIconSuite, DisposeIconSuite
- #endif
-
- #ifndef __RESOURCES__
- #include <Resources.h>
- #endif
-
- #ifndef _USERSRCM_
- #include <UseRsrcM.h>
- #endif
-
- #ifndef __TOOLUTILS__
- #include <ToolUtils.h>
- #endif
-
- #ifndef SOM_ODPartWrapper_xh
- #include <PartWrap.xh>
- #endif
-
- #ifndef _BINDNGH_
- #include <BindngH.h>
- #endif
-
- #ifndef SOM_ODBinding_xh
- #include <ODBindng.xh>
- #endif
-
- #ifndef _ISOSTR_
- #include <ISOStr.h>
- #endif
-
- #pragma segment NoPart
-
- #define SOM_Module_nopart_Source
- #define VARIABLE_MACROS
- #include <NoPart.xih>
-
-
- //==============================================================================
- // Constants
- //==============================================================================
-
-
- //==============================================================================
- // Scalar Types
- //==============================================================================
- pascal OSErr
- DetachIconResource(ResType /*theType*/, Handle *theIcon, void* /*yourDataPtr*/);
-
-
- //==============================================================================
- // NoPart
- //==============================================================================
-
- SOM_Scope void SOMLINK NoPartsomUninit(Apple_NoPart *somSelf)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","somUninit");
-
- Apple_NoPart_parent_ODPart_somUninit(somSelf);
- }
-
-
- //-------------------------------------------------------------------------
- // From Imaging protocol
- //-------------------------------------------------------------------------
-
- // --- Draw ---
-
- SOM_Scope void SOMLINK NoPartDraw(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet, ODShape* invalidShape)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","Draw");
-
- // Apple_NoPart_parent_ODPart_Draw(somSelf,ev,facet,invalidShape);
-
- ODUnused(invalidShape);
-
- SOM_TRY
-
- ODFrame* frame = facet->GetFrame(ev);
- ODTypeToken view = frame->GetViewType(ev);
-
- IconTransformType transformType = ttNone;
- ODWindow* window = facet->GetWindow(ev);
-
- // Init the icon family if necessary
- if (_fIconFamily == kODNULL)
- _fIconFamily = ODGetIconFamily(ev, frame);
-
- // Check to see if the frame is selected and in an active window
- if ( facet->GetHighlight(ev) == kODFullHighlight &&
- window->IsActive(ev) )
- transformType = ttSelected;
-
- Rect iconRect;
-
- if (view == _fSession->Tokenize(ev, kODViewAsSmallIcon))
- SetRect(&iconRect, 0, 0, 16, 16);
- else
- SetRect(&iconRect, 0, 0, 32, 32);
-
- //if ( view == _fSession->Tokenize(ev, kODViewAsFrame) )
- {
- SetPort(window->GetPlatformWindow(ev));
- {
- TempODTransform localToGlobal = facet->AcquireContentTransform(ev, kODNULL);
- ODPoint offset(0,0);
- localToGlobal->TransformPoint(ev, &offset);
- SetOrigin(-offset.IntX(), -offset.IntY());
- }
-
- RgnHandle saveClip = ODNewRgn();
- GetClip(saveClip);
- ODShape* clipShape = facet->CreateShape(ev);
- {
- TempODShape facetClipShape = facet->AcquireAggregateClipShape(ev, kODNULL);
- clipShape->CopyFrom(ev,facetClipShape);
- }
- RgnHandle clip = clipShape->GetQDRegion(ev);
- SetClip(clip);
-
- ODShape* usedShape = frame->AcquireUsedShape(ev, kODNULL);
- RgnHandle usedRgn = usedShape->GetQDRegion(ev);
-
- if ( view == _fSession->Tokenize(ev, kODViewAsLargeIcon) ||
- view == _fSession->Tokenize(ev, kODViewAsSmallIcon) )
- {
- PlotIconSuite(&iconRect, atAbsoluteCenter, transformType, _fIconFamily);
- }
- else if ( view == _fSession->Tokenize(ev, kODViewAsThumbnail) )
- {
- Handle thumbnail;
- {
- CUsingLibraryResources res;
- thumbnail = (Handle) GetPicture(kNoPartThumbnail);
- DetachResource(thumbnail);
- }
-
- if ( thumbnail == kODNULL )
- {
- frame->ChangeViewType(ev, _fSession->Tokenize(ev, kODViewAsFrame));
-
- THROW_IF_ERROR((ODError)ResError());
- THROW(resNotFound);
- }
-
- Rect bounds = (**(PicHandle) thumbnail).picFrame;
-
- OffsetRect(&bounds, -bounds.left, -bounds.top);
- DrawPicture((PicHandle) thumbnail, &bounds);
- PlotIconSuite(&iconRect, atAbsoluteCenter, transformType, _fIconFamily);
- }
- else // if ( view == _fSession->Tokenize(ev, kODViewAsFrame) )
- {
- RGBColor rgb;
- rgb.blue = 32768; rgb.green = 32768; rgb.red = 32768;
- PixPatHandle ppat = NewPixPat();
- MakeRGBPat(ppat, &rgb);
-
- FillCRgn(usedRgn,ppat);
- FrameRgn(usedRgn);
- DisposePixPat(ppat);
- PlotIconSuite(&iconRect, atAbsoluteCenter, transformType, _fIconFamily);
- }
-
- usedShape->Release(ev);
-
- SetOrigin(0, 0);
-
- SetClip(saveClip);
- ODDisposeHandle((Handle)saveClip);
- }
-
- SOM_CATCH_ALL
- SOM_ENDTRY
- }
-
- //-------------------------------------------------------------------------
- // From Storage protocol
- //-------------------------------------------------------------------------
-
- SOM_Scope void SOMLINK NoPartFulfillPromise(Apple_NoPart *somSelf, Environment *ev,
- ODStorageUnitView* promiseSUView)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","FulfillPromise");
- }
-
- SOM_Scope void SOMLINK NoPartDropCompleted(Apple_NoPart *somSelf, Environment *ev,
- ODPart* destPart,
- ODDropResult dropResult)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DropCompleted");
- }
-
- SOM_Scope ODDragResult SOMLINK NoPartDragEnter(Apple_NoPart *somSelf, Environment *ev,
- ODDragItemIterator* dragInfo,
- ODFacet* facet,
- ODPoint* where)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DragEnter");
-
- return kODFalse;
- }
-
- SOM_Scope ODDragResult SOMLINK NoPartDragWithin(Apple_NoPart *somSelf, Environment *ev,
- ODDragItemIterator* dragInfo,
- ODFacet* facet,
- ODPoint* where)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DragWithin");
-
- return kODFalse;
- }
-
- SOM_Scope void SOMLINK NoPartDragLeave(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet,
- ODPoint* where)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DragLeave");
-
- }
-
- SOM_Scope ODDropResult SOMLINK NoPartDrop(Apple_NoPart *somSelf, Environment *ev,
- ODDragItemIterator* dropInfo,
- ODFacet* facet,
- ODPoint* where)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","Drop");
-
- return kODDropFail;
- }
-
- SOM_Scope void SOMLINK NoPartContainingPartPropertiesUpdated(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame,
- ODStorageUnit* propertyUnit)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ContainingPartPropertiesUpdated");
-
- }
-
- SOM_Scope ODStorageUnit* SOMLINK NoPartAcquireContainingPartProperties(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","AcquireContainingPartProperties");
-
- return kODNULL;
- }
-
- SOM_Scope ODBoolean SOMLINK NoPartRevealFrame(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* embeddedFrame,
- ODShape* revealShape)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","RevealFrame");
-
- return kODFalse;
- }
-
- SOM_Scope void SOMLINK NoPartEmbeddedFrameSpec(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* embeddedFrame,
- ODObjectSpec* spec)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","EmbeddedFrameSpec");
-
- }
-
- SOM_Scope ODEmbeddedFramesIterator* SOMLINK NoPartCreateEmbeddedFramesIterator(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","CreateEmbeddedFramesIterator");
-
- return kODNULL;
- }
-
- SOM_Scope void SOMLINK NoPartDisplayFrameAdded(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DisplayFrameAdded");
- }
-
- SOM_Scope void SOMLINK NoPartDisplayFrameRemoved(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DisplayFrameRemoved");
-
- }
-
- SOM_Scope void SOMLINK NoPartDisplayFrameConnected(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DisplayFrameConnected");
- }
-
- SOM_Scope void SOMLINK NoPartDisplayFrameClosed(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DisplayFrameClosed");
-
- }
-
- SOM_Scope void SOMLINK NoPartAttachSourceFrame(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame,
- ODFrame* sourceFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","AttachSourceFrame");
-
- }
-
- SOM_Scope void SOMLINK NoPartFrameShapeChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","FrameShapeChanged");
-
- }
-
- SOM_Scope void SOMLINK NoPartViewTypeChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ViewTypeChanged");
-
- }
-
- SOM_Scope void SOMLINK NoPartPresentationChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","PresentationChanged");
-
- }
-
- SOM_Scope void SOMLINK NoPartSequenceChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","SequenceChanged");
-
- }
-
- SOM_Scope ODInfoType SOMLINK NoPartReadPartInfo(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame,
- ODStorageUnitView* storageUnitView)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ReadPartInfo");
-
- return kODNULL;
- }
-
- SOM_Scope void SOMLINK NoPartWritePartInfo(Apple_NoPart *somSelf, Environment *ev,
- ODInfoType partInfo,
- ODStorageUnitView* storageUnitView)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","WritePartInfo");
-
- }
-
- SOM_Scope void SOMLINK NoPartClonePartInfo(Apple_NoPart *somSelf, Environment *ev,
- ODDraftKey key,
- ODInfoType partInfo,
- ODStorageUnitView* storageUnitView,
- ODFrame* scopeFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ClonePartInfo");
-
- }
-
- SOM_Scope ODID SOMLINK NoPartOpen(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","Open");
-
- ODEditor theEditor = kODNULL; ODVolatile(theEditor);
-
- SOM_TRY
-
- theEditor = _fSession->GetBinding(ev)->
- ChooseEditorForPart( ev, _fStorageUnit, kODNULL );
-
- ODUShort length = (ODUShort)ODISOStrLength(theEditor);
- if (!ODISOStrNCompare(theEditor, kODBlackBoxHandlerOfLastResort, length) == 0)
- ChangeEditor( _fPartWrapper, theEditor );
- else
- {
- ODBoolean windowsOpen = (_fSession->GetWindowState(ev)->GetWindowCount(ev)>0);
-
- ODTranslation* translation = _fSession->GetTranslation(ev);
- if (!translation->ShowPartTranslateDialog(ev, _fPartWrapper))
- {
- if (!windowsOpen)
- _fSession->GetDispatcher(ev)->Exit(ev);
- }
- }
-
- ODDeleteObject( theEditor );
-
- SOM_CATCH_ALL
- ODDeleteObject( theEditor );
- SOM_ENDTRY
- return 0;
- }
-
- SOM_Scope ODFrame* SOMLINK NoPartRequestEmbeddedFrame(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* containingFrame,
- ODFrame* baseFrame,
- ODShape* frameShape,
- ODPart* embedPart,
- ODTypeToken viewType,
- ODTypeToken presentation,
- ODBoolean isOverlaid)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","RequestEmbeddedFrame");
-
- return kODNULL;
- }
-
- SOM_Scope void SOMLINK NoPartRemoveEmbeddedFrame(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* embeddedFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","RemoveEmbeddedFrame");
-
- }
-
- SOM_Scope ODShape* SOMLINK NoPartRequestFrameShape(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* embeddedFrame,
- ODShape* frameShape)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","RequestFrameShape");
-
- return kODNULL;
- }
-
- SOM_Scope void SOMLINK NoPartUsedShapeChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* embeddedFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","UsedShapeChanged");
- }
-
- SOM_Scope ODShape* SOMLINK NoPartAdjustBorderShape(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* embeddedFacet,
- ODShape* shape)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","AdjustBorderShape");
-
- return kODNULL;
- }
-
- SOM_Scope void SOMLINK NoPartFacetAdded(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- }
-
- SOM_Scope void SOMLINK NoPartFacetRemoved(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","FacetRemoved");
- }
-
- SOM_Scope void SOMLINK NoPartCanvasChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","CanvasChanged");
- }
-
- SOM_Scope void SOMLINK NoPartGeometryChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet,
- ODBoolean clipShapeChanged,
- ODBoolean externalTransformChanged)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","GeometryChanged");
- }
-
- SOM_Scope void SOMLINK NoPartCanvasUpdated(Apple_NoPart *somSelf, Environment *ev,
- ODCanvas* canvas)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","CanvasUpdated");
- }
-
- SOM_Scope void SOMLINK NoPartHighlightChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFacet* facet)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","HighlightChanged");
- }
-
- SOM_Scope ODULong SOMLINK NoPartGetPrintResolution(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","GetPrintResolution");
-
- return 0;
- }
-
- SOM_Scope ODLinkSource* SOMLINK NoPartCreateLink(Apple_NoPart *somSelf, Environment *ev,
- ODByteArray* data)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","CreateLink");
-
- return kODNULL;
- }
-
- SOM_Scope void SOMLINK NoPartLinkUpdated(Apple_NoPart *somSelf, Environment *ev,
- ODLink* updatedLink,
- ODUpdateID change)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","LinkUpdated");
- }
-
- SOM_Scope void SOMLINK NoPartRevealLink(Apple_NoPart *somSelf, Environment *ev,
- ODLinkSource* linkSource)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","RevealLink");
- }
-
- SOM_Scope void SOMLINK NoPartEmbeddedFrameUpdated(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame,
- ODUpdateID change)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","EmbeddedFrameUpdated");
- }
-
- SOM_Scope void SOMLINK NoPartLinkStatusChanged(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","LinkStatusChanged");
- }
-
- SOM_Scope ODBoolean SOMLINK NoPartBeginRelinquishFocus(Apple_NoPart *somSelf, Environment *ev,
- ODTypeToken focus,
- ODFrame* ownerFrame,
- ODFrame* proposedFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","BeginRelinquishFocus");
-
- return kODFalse;
- }
-
- SOM_Scope void SOMLINK NoPartCommitRelinquishFocus(Apple_NoPart *somSelf, Environment *ev,
- ODTypeToken focus,
- ODFrame* ownerFrame,
- ODFrame* proposedFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","CommitRelinquishFocus");
- }
-
- SOM_Scope void SOMLINK NoPartAbortRelinquishFocus(Apple_NoPart *somSelf, Environment *ev,
- ODTypeToken focus,
- ODFrame* ownerFrame,
- ODFrame* proposedFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","AbortRelinquishFocus");
- }
-
- SOM_Scope void SOMLINK NoPartFocusAcquired(Apple_NoPart *somSelf, Environment *ev,
- ODTypeToken focus,
- ODFrame* ownerFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","FocusAcquired");
- }
-
- SOM_Scope void SOMLINK NoPartFocusLost(Apple_NoPart *somSelf, Environment *ev,
- ODTypeToken focus,
- ODFrame* ownerFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","FocusLost");
- }
-
-
- SOM_Scope void SOMLINK NoPartCloneInto(Apple_NoPart *somSelf, Environment *ev,
- ODDraftKey key,
- ODStorageUnit* storageUnit,
- ODFrame* initiatingFrame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","CloneInto");
-
- parent_CloneInto(somSelf,ev,key,storageUnit,initiatingFrame);
- }
-
- SOM_Scope void SOMLINK NoPartExternalizeKinds(Apple_NoPart *somSelf, Environment *ev,
- ODTypeList* kindset)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ExternalizeKinds");
- }
-
- SOM_Scope void SOMLINK NoPartChangeKind(Apple_NoPart *somSelf, Environment *ev,
- ODType kind)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ChangeKind");
- }
-
- SOM_Scope ODBoolean SOMLINK NoPartHandleEvent(Apple_NoPart *somSelf, Environment *ev,
- ODEventData* event,
- ODFrame* frame,
- ODFacet* facet,
- ODEventInfo* eventInfo)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","HandleEvent");
-
- ODBoolean tWasHandled = kODFalse;
-
- SOM_TRY
-
- switch (event->what)
- {
- case nullEvent:
- break;
-
- case mouseDown:
- if ( somSelf->CheckDoubleClick(ev, event) )
- {
- _fIsDoubleClick = kODTrue;
- }
- else
- {
- TempODFrame containingFrame = frame->AcquireContainingFrame(ev);
- if (containingFrame)
- {
- event->what = kODEvtMouseDownEmbedded;
- eventInfo->embeddedFrame = frame;
- eventInfo->embeddedFacet = facet;
- TempODPart part = containingFrame->AcquirePart(ev);
- tWasHandled = part->
- HandleEvent(ev,event,containingFrame,facet->GetContainingFacet(ev),eventInfo);
- }
- }
- break;
-
- case mouseUp:
-
- tWasHandled = kODTrue;
- somSelf->CaptureMouseUpEvent(ev, event, frame);
- if (_fIsDoubleClick)
- {
- somSelf->Open(ev, frame);
- tWasHandled = kODTrue;
- _fIsDoubleClick = kODFalse;
- }
- break;
-
- default:
- return kODFalse;
- }
-
- SOM_CATCH_ALL
- tWasHandled = kODFalse;
- SOM_ENDTRY
-
- return tWasHandled;
- }
-
- SOM_Scope void SOMLINK NoPartAdjustMenus(Apple_NoPart *somSelf, Environment *ev,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","AdjustMenus");
- }
-
- SOM_Scope void SOMLINK NoPartUndoAction(Apple_NoPart *somSelf, Environment *ev,
- ODActionData* actionState)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","UndoAction");
- }
-
- SOM_Scope void SOMLINK NoPartRedoAction(Apple_NoPart *somSelf, Environment *ev,
- ODActionData* actionState)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","RedoAction");
- }
-
- SOM_Scope void SOMLINK NoPartDisposeActionState(Apple_NoPart *somSelf, Environment *ev,
- ODActionData* actionState,
- ODDoneState doneState)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","DisposeActionState");
- }
-
- SOM_Scope void SOMLINK NoPartWriteActionState(Apple_NoPart *somSelf, Environment *ev,
- ODActionData* actionState,
- ODStorageUnitView* storageUnitView)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","WriteActionState");
-
- }
-
- SOM_Scope ODActionData SOMLINK NoPartReadActionState(Apple_NoPart *somSelf, Environment *ev,
- ODStorageUnitView* storageUnitView)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","ReadActionState");
-
- ODActionData data;
- data._maximum = 0;
- data._length = 0;
- data._buffer = kODNULL;
- return ((ODActionData) data);
- }
-
- SOM_Scope void SOMLINK NoPartRelease(Apple_NoPart *somSelf, Environment *ev)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","Release");
-
- SOM_TRY
-
- parent_Release(somSelf, ev);
- if (somSelf->GetRefCount(ev) == 0)
- _fStorageUnit->GetDraft(ev)->ReleasePart(ev, (ODPart*)_fPartWrapper);
-
- SOM_CATCH_ALL
- SOM_ENDTRY
- }
-
- SOM_Scope void SOMLINK NoPartInitPart(Apple_NoPart *somSelf, Environment *ev,
- ODStorageUnit* storageUnit, ODPart* partWrapper)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","InitPart");
-
- SOM_TRY
-
- /* Moved from somInit. SOM itself sets fields to zero
- _fSession = kODNULL;
- _fStorageUnit = kODNULL;
- _fPartWrapper = kODNULL;
- _fMouseWhen = 0;
- _fMouseWhere.x = 0;
- _fMouseWhere.y = 0;
- _fIsDoubleClick = kODFalse;
- */
- parent_InitPart(somSelf, ev, storageUnit, partWrapper);
-
- _fStorageUnit = storageUnit;
- _fPartWrapper = (ODPartWrapper*)partWrapper;
- _fSession = storageUnit->GetSession(ev);
-
- SOM_CATCH_ALL
- SOM_ENDTRY
- }
-
- SOM_Scope void SOMLINK NoPartInitPartFromStorage(Apple_NoPart *somSelf, Environment *ev,
- ODStorageUnit* storageUnit, ODPart* partWrapper)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","InitPartFromStorage");
-
- SOM_TRY
-
- /* Moved from somInit. SOM itself sets fields to zero
- _fSession = kODNULL;
- _fStorageUnit = kODNULL;
- _fPartWrapper = kODNULL;
- _fMouseWhen = 0;
- _fMouseWhere.x = 0;
- _fMouseWhere.y = 0;
- _fIsDoubleClick = kODFalse;
- _fIconFamily = kODNULL;
- */
- parent_InitPartFromStorage(somSelf, ev, storageUnit, partWrapper);
-
- _fStorageUnit = storageUnit;
- _fPartWrapper = (ODPartWrapper*)partWrapper;
- _fSession = storageUnit->GetSession(ev);
-
- SOM_CATCH_ALL
- SOM_ENDTRY
- }
-
-
- SOM_Scope ODBoolean SOMLINK NoPartCaptureMouseUpEvent(Apple_NoPart *somSelf, Environment *ev,
- ODEventData* event,
- ODFrame* frame)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","NoPartCaptureMouseUpEvent");
-
- ODBoolean returnVal = kODTrue;
-
- // do this for double-click monitoring
- _fMouseWhen = event->when;
- _fMouseWhere = event->where;
-
- return (returnVal);
- }
-
- SOM_Scope ODBoolean SOMLINK NoPartCheckDoubleClick(Apple_NoPart *somSelf, Environment *ev,
- ODEventData* event)
- {
- Apple_NoPartData *somThis = Apple_NoPartGetData(somSelf);
- Apple_NoPartMethodDebug("Apple_NoPart","NoPartCheckDoubleClick");
-
- ODBoolean isDoubleClick;
- Rect testRect;
-
- isDoubleClick = (event->when - _fMouseWhen) <= GetDblTime();
-
- SetRect(&testRect, _fMouseWhere.IntX( ), _fMouseWhere.IntY( ),
- _fMouseWhere.IntX( ), _fMouseWhere.IntY( ));
- InsetRect(&testRect, -2, -2);
-
- isDoubleClick &= PtInRect(event->where, &testRect);
-
- return isDoubleClick;
- }
-
- //--------------------------------------------------------------------
- // DetachIconResource
- //--------------------------------------------------------------------
-
- pascal OSErr
- DetachIconResource(ResType /*theType*/, Handle *theIcon, void* /*yourDataPtr*/)
- {
- if (theIcon != kODNULL && *theIcon != kODNULL)
- {
- DetachResource(*theIcon);
- return ResError();
- }
- else
- return noErr;
- }
-
-
-